#!/bin/bash
# FurryOS Quick Start - Complete Workflow
# Location: /TOP/quick_start.sh

set -e

echo "==============================================================================="
echo "   🐾 FURRYOS COMPLETE BUILD & DEPLOY WORKFLOW 🐾"
echo "==============================================================================="
echo ""
echo "This script will:"
echo "  1. Set up Python environment"
echo "  2. Install dependencies"
echo "  3. Build FurryOS ISO (with ANTHROHEART)"
echo "  4. Optionally create bootable USB with partitions"
echo ""
echo "Requirements:"
echo "  • Debian 13+ or Ubuntu 22.04+"
echo "  • Root access (sudo)"
echo "  • 20GB free disk space"
echo "  • USB drive (20GB+ for bootable USB)"
echo ""

read -p "Press Enter to continue or Ctrl+C to cancel..."

echo ""
echo "==============================================================================="
echo "[1/5] CHECKING ENVIRONMENT"
echo "==============================================================================="

# Check if running from /TOP
if [[ ! -f "quick_start.sh" ]]; then
    echo "❌ Please run this script from /TOP directory"
    exit 1
fi

echo "✓ Running from /TOP directory"

# Check for sudo
if ! sudo -v; then
    echo "❌ sudo access required"
    exit 1
fi

echo "✓ sudo access confirmed"

echo ""
echo "==============================================================================="
echo "[2/5] INSTALLING SYSTEM DEPENDENCIES"
echo "==============================================================================="

sudo apt-get update
sudo apt-get install -y \
    python3 \
    python3-pip \
    python3-venv \
    genisoimage \
    xorriso \
    grub-pc-bin \
    grub-efi-amd64-bin \
    parted \
    dosfstools \
    e2fsprogs \
    rsync \
    imagemagick

echo "✓ System dependencies installed"

echo ""
echo "==============================================================================="
echo "[3/5] SETTING UP PYTHON ENVIRONMENT"
echo "==============================================================================="

if [[ ! -d "furryos_venv" ]]; then
    python3 -m venv furryos_venv
    echo "✓ Virtual environment created"
else
    echo "✓ Virtual environment exists"
fi

source furryos_venv/bin/activate
pip install --upgrade pip
pip install pyyaml

echo "✓ Python environment ready"

echo ""
echo "==============================================================================="
echo "[4/5] BUILDING ISO"
echo "==============================================================================="

echo ""
echo "Building FurryOS ISO with ANTHROHEART media library..."
echo "This will take 40-60 minutes"
echo ""

read -p "Build ISO now? [Y/n]: " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Nn]$ ]]; then
    sudo python3 assets/deploy_iso.py
    echo ""
    echo "✓ ISO built successfully!"
else
    echo "⏭️  Skipping ISO build"
fi

echo ""
echo "==============================================================================="
echo "[5/5] CREATE BOOTABLE USB (OPTIONAL)"
echo "==============================================================================="

echo ""
echo "Do you want to create a bootable USB with proper partitions?"
echo ""
echo "Features:"
echo "  • Auto-detects USB size (20GB minimum)"
echo "  • Small (20-32GB): 1GB SWAP, basic layout"
echo "  • Medium (32-128GB): 2GB SWAP + home partition"
echo "  • Large (128GB+): 4GB SWAP + 50GB root + HUGE home!"
echo "  • Random boot splash (50% opacity)"
echo "  • Random wallpaper (100% opacity)"
echo "  • Full persistence in /home"
echo "  • UEFI + Legacy BIOS support"
echo ""
echo "⚠️  WARNING: This will ERASE all data on the USB!"
echo ""

read -p "Create bootable USB? [y/N]: " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
    echo ""
    echo "Available storage devices:"
    lsblk -d -o NAME,SIZE,TYPE,MODEL
    echo ""
    sudo python3 assets/create_partitions.py
else
    echo "⏭️  Skipping USB creation"
    echo ""
    echo "To create USB later, run:"
    echo "  sudo python3 /TOP/assets/create_partitions.py"
fi

echo ""
echo "==============================================================================="
echo "   🎉 FURRYOS SETUP COMPLETE! 🎉"
echo "==============================================================================="
echo ""

if [[ -f "output/furryos-8.0.0-origin-x86_64.iso" ]]; then
    ISO_SIZE=$(du -h output/furryos-8.0.0-origin-x86_64.iso | cut -f1)
    echo "📀 ISO: output/furryos-8.0.0-origin-x86_64.iso ($ISO_SIZE)"
    echo ""
fi

echo "Next steps:"
echo ""
echo "  Create bootable USB:"
echo "    sudo python3 /TOP/assets/create_partitions.py"
echo ""
echo "  Or use BalenaEtcher 1.18.11:"
echo "    cd /TOP/assets"
echo "    wget https://github.com/balena-io/etcher/releases/download/v1.18.11/balenaEtcher-1.18.11-x64.AppImage"
echo "    chmod +x balenaEtcher-1.18.11-x64.AppImage"
echo "    ./balenaEtcher-1.18.11-x64.AppImage"
echo "    (Click 'Continue' at 'Missing partition table' warning)"
echo ""
echo "  Or use dd (fastest):"
echo "    sudo dd if=/TOP/output/furryos-*.iso of=/dev/sdX bs=4M status=progress conv=fsync"
echo ""
echo "🐾 From The Origin, all things grow! 🌱"
echo ""
